آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic
تهیه و آموزش نرم افزار دارک بیسیک
 
 
دو شنبه 16 ارديبهشت 1392برچسب:, :: 2:41 ::  نويسنده : ابوالفضل

 نماد های مقایسه ای

استفاده از نماد های مقایسه ای زمانی است که عملگر های منطقی ( که به شرح هر یک خواهیم پرداخت ) از آن برای عملیات مقایسه ای بین اعداد و متغیر ها استفاده کنند . این علائم به شرح زیر می باشد :

 

 نمونه    

A بزرگتر از B باشد                A > B

A کوچکتر از B باشد              A < B

A بزرگتر یا مساوی  A >= B          B

A کوچکتر یا مساوی            A <= B                         

A مساوی A = B                         B        

A نامساوی   A <> B                   B

 

2 - عملگر های منطقی ( Boolean )

این عملگر ها به بررسی درستی و نادرستی معادلات عددی و کاراکتری و همچنین ترکیب ساختار عبارات می پردازند که حاصل آن عددی است شامل صفر که False در نظر گرفته می شود و یا یک که True در نظر گرفته می شود . یعنی اگر عبارت درست و منطقی باشد ، حاصل True و اگر عبارت مورد بررسی نادرست باشد ، حاصل False خواهد بود .

 

مفهوم واقعی استفاده از عملگر های منطقی :

هنگام نوشتن برنامه با متغیرها و اعداد زیادی سر و کار خواهیم داشت تا برای رسیدن به هدف دلخواهمان به بررسی موقعت های ایجاد شده در برنامه بپردازیم . شرایط ایجاد شده متشکل از مقادیر اعداد و عبارات و متغیرهای موجود در برنامه شباهت زیادی به شرایط زندگی طبیعی ما دارد . هم اکنون به بررسی هر یک می پردازیم :

 

برای مثال ما می خواهید دقیقا ساعت 9 صبح به باشگاه برویم . همچنین باید لباس مناسبی هم برای حضور در باشگاه با خود ببریم . پس اگر ما بتوانیم ساعت 9 صبح در باشگاه حضور داشته باشیم و لباسمان هم مناسب حضور در باشگاه باشد ، یک کار درست و منطقی انجام دادیم ؛ ولی اگر یکی از این دو شرط و یا هر دو را رعایت نکنیم کار درستی انجام ندادیم و به هدفمان نخواهیم رسید . 

 

2 – الف : عملگر And ( وَ )

عملگر And به بررسی عبارات می پردازد . عبارات شامل معادلات ریاضی ، معادلات کاراکتری و اعداد Boolean که شامل صفر و یک و متغییر ها می باشد . تعداد عبارات می تواند 2 و یا بیشتر باشد .  کافی است بین هر عبارت از کلمه ی And استفاده شود . عملگر And عبارات را بررسی می کند . اگر هر عبارت منطقی باشد آن را True و اگر غیر منطقی باشد آن را False در نظر می گیرد . در آخر اگر تمای عبارات True شدند ، حاصل True می شود و اگر حتی یک عبارت هم False باشد ، حاصل کل False خواهد شد . مانند دستور العمل زیر .

 

Case1 And Case2

 

طبق این دستور العمل در مرحله ی اول Case1 بررسی می شود . اگر منطقی بود ، True و اگر غیر منطقی بود ، False در نظر گرفته می شود . در مرحله ی دوم Case2 بررسی شده اگر منطقی بود ،  True و اگر غیر منطقی بود ، False در نظر گرفته می شود . در آخر اگر هر دو منطقی باشند ، Case1 And Case2 برابر True و اگر یکی از آنها و یا هر دو غیر منطقی باشند ، Case1 And Case2 برابر False خواهد بود .

 

زمانی Case1 And Case2 برابر True خواهد شد ، که Case1 و Case2 هر دو منطقی ( True ) باشند . مانند مثال های زیر :

 

A = 10

"Name$ = "Yes

"A > 5 And Name$ = "Yes

 

در این مثال چون A > 5 و "Name$ = "Yes هر دو منطقی و درست ( True ) هستند ،

در نتیجه کل عبارت "A > 5 And Name$ = "Yes منطقی و برابر True خواهد بود .

 

A = 78

"Name$ = "No

"A < 15 And Name$ = "Yes

 

در این مثال چون A < 15 و "Name$ = "Yes هر دو غیر منطقی و نادرست ( False ) هستند ،

در نتیجه کل عبارت "A < 15 And Name$ = "Yes غیرمنطقی و برابر False خواهد بود .

 

A = 0

"Name$ = "Yes

"A >= 0 And Name$ <> "Yes

 

در این مثال چون A >= 0 منطقی ( True ) ولی "Name$ <> "Yes غیر منطقی و نادرست ( False ) است ، در نتیجه کل عبارت "A >= 0 And Name$ <> "Yes غیرمنطقی و برابر False خواهد بود .

 

A = 12.74

"Name$ = "Yes

"A < 5 And Name$ = "Yes

 

در این مثال چون A < 5 نادرست ( False ) ولی "Name$ = "Yes منطقی و درست ( True ) است ،

در نتیجه کل عبارت "A < 5 And Name$ = "Yes غیر منطقی و برابر False خواهد بود .

 

2 – ب : عملگر Or ( یا )

عملگر Or به بررسی عبارات می پردازد . عبارات شامل معادلات ریاضی ، معادلات کاراکتری و اعداد Boolean که شامل False و True و متغیر ها می باشد . تعداد عبارات می تواند 2 و یا بیشتر باشد .  کافی است بین هر عبارت از کلمه ی Or استفاده شود . عملگر Or عبارات را بررسی می کند . اگر هر عبارت منطقی باشد آن را True و اگر غیر منطقی باشد آن را False در نظر می گیرد . در آخر اگر تمای عبارات False شدند ، حاصل False می شود در غیر این صورت حاصل True خواهند شد . یعنی اگر تنها یک عبارت هم درست باشد ، در نتیجه کل عبارات True خواهد بود . مانند دستور العمل زیر .

 

Case1 Or Case2

 

طبق این دستور العمل در مرحله ی اول Case1 بررسی می شود . اگر منطقی بود ، True و اگر غیر منطقی بود ، False در نظر گرفته می شود . در مرحله ی دوم Case2 بررسی شده اگر منطقی بود ، True و اگر غیر منطقی بود ، False در نظر گرفته می شود . در آخر اگر هر دو غیر منتقی باشند Case1 Or Case2 برابر False و در غیر این صورت عبارت Case1 Or Case2 برابر True خواهد بود .

 

زمانی Case1 And Case2 برابر True خواهد شد ، که حداقل یکی از موارد Case1 و Case2 منطقی ( True ) باشد . مانند مثال های زیر :

 

A = 10

"Name$ = "Yes

"A > 5 Or Name$ = "Yes

 

در این مثال چون A > 5 و "Name$ = "Yes هر دو منطقی و درست ( True ) هستند ،

در نتیجه کل عبارت "A > 5 Or Name$ = "Yes منطقی و برابر True خواهد بود .

 

A = 78

"Name$ = "No

"A < 15 Or Name$ = "Yes

 

در این مثال چون A < 15 و "Name$ = "Yes هر دو غیر منطقی و نادرست ( False ) هستند ،

در نتیجه کل عبارت "A < 15 Or Name$ = "Yes غیرمنطقی و برابر False خواهد بود .

 

A = 0

"Name$ = "Yes

"A >= 0 Or Name$ <> "Yes

 

در این مثال چون A >= 0 منطقی ( True ) ولی "Name$ <> "Yes غیر منطقی و نادرست ( False ) است ، در نتیجه کل عبارت "A >= 0 Or Name$ <> "Yes منطقی و برابر True خواهد بود .

 

A = 12.74

"Name$ = "Yes

"A < 5 Or Name$ = "Yes

 

در این مثال چون A < 5 نادرست ( False ) ولی "Name$ = "Yes منطقی و درست ( True ) است ،

در نتیجه کل عبارت "A < 5 Or Name$ = "Yes منطقی و برابر True خواهد بود .

 

2 – ج : عملگر Not ( نه منتقی )

عملگر Not به بررسی عبارات می پردازد . عبارات شامل معادلات ریاضی ، معادلات کاراکتری و اعداد Boolean که شامل صفر و یک و متغییر ها می باشد . عملگر Not عبارات داخل پرانتز را بررسی می کند تا حاصل درستی یا نادرستی را معکوس در نظر بگیرد . یعنی اگر عبارت غیرمنطقی و نادرست باشد ، آن را True و اگر درست و منطقی باشد آن را False در نظر می گیرد . مانند دستورالعمل زیر .

 

(Not (Case

 

طبق این دستور العمل Case بررسی می شود . اگر منطقی بود False و اگر غیر منطقی بود True در نظر گرفته می شود . 

 

آرایه ها ( Arrays ) :

آرایه همان متغیر است . با این تفاوت که در هر متغیر تنها یک مقدار ( عدد یا عبارت متنی ) جا می گرفت . ولی هر آرایه می تواند بیشتر از یک مقدار را در خود جای دهد و تعداد مقادیر داخل آن را ما مشخص می کنیم .

 

تعریف آرایه :

برای ایجاد آرایه از دستورالعمل زیر استفاده کنیم :

 

Dim VariableName(NumIndex) As Type

 

طبق این دستورالعمل ابتدا عبارت Dim را تایپ می کنیم . سپس به جای عبارت VariableName نام آرایه ای را که می خواهیم ایجاد کنیم قرار می دهیم . سپس یک پرانتز باز می کنیم و به جای NumIndex به تعداد مورد نیازمان عضو در آرایه ایجاد می کنیم . سپس پرانتز را می بندیم . عبارت As جزء دستورات کلیدی DarkBasic می باشد که باید حتما نوشته شود . سپس به جای Type نوع متغری را که می خواهیم تعریف کنید همانند نوع متغیر ها ( از جدول متغیرها ) انتخاب و تایپ می کنیم ( بغیر از REAL ) . به مثال زیر توجه کنید .

 

Dim MyNumber(10) As Integer

 

در این مثال آرایه ای با نام MyNumber از نوع Integer و به تعداد 11 عضو ایجاد و معرفی شد . با نوشتن عدد 10 تعداد 11 عضو ایجاد شد دلیل آن این است بیشترین عدد 10 و کمترین آن صفر است و چون صفر هم جزء عضو ها حساب می شود ، پس ما 11 عضو در این آرایه ایجاد کردیم .

 

با استفاده از دستور UnDim می توانیم آرایه ی ایجاد شده ( برای مثال آرایه ی بالا با نام MyNumber ) را حذف کنیم مانند زیر :

 

()UnDim MyNumber

 

کاربرد آرایه ها :

برنامه ای می نویسیم که در آن معدل نمرات درس ریاضی چهل دانش آموز باید حساب شود . پس باید 40 متغیر تعریف کنیم مانند زیر :

 

Number1 = 17

Number2 = 12

Number3 = 20

تا آخر . . .

 

ما می توانیم با استفاده از دستور Dim آرایه ای از متغیرها با نام Number ایجاد کنیم . به جای استفاده از خطوط بالا مانند دستور زیر عمل می کنیم :

 

(Dim Number(40

Number(1) = 17

Number(2) = 12

Number(3) = 20

تا آخر . . .

 

در خط اول 40 متغیر با نام Number ایجاد و در خطوط بعدی آنها را مقدار دهی کردیم . سپس آن ها را چاپ می کنیم .

 

(Print Number(1

(Print Number(2

(Print Number(3

تا آخر . . .

 

ما می توانیم به جای دستورات بالا با استفاده از دستور زیر محتویات درون تمام 40 متغیر آرایه ای را چاپ کنیم :

 

For T = 1 To 40

(Print Number(T

Next T

 

ما با استفاده از دستور بالا به جای 40 خط تنها از 3 خط دستور استفاده کردیم .

دستور For دستورات بین عبارت ( For T = 1 To 40 ) تا ( Next T ) را چهل بار تکرار می کند و در این چهل بار مقدار متغیر T از 1 تا 40 شمرده می شود . برای یادگیری کامل عملکرد دستور For ... Next به فهرست مطالب واقع در ابتدای کتاب رجوع کنید .

 

همچنین میتوانیم با استفاده از برنامه ی زیر معدل درس ریاضی این 40 دانش آموز را حساب کنیم .

 

K = 0

For T = 1 To 40

(K = K + Number(T

Next T

Z = K / 40

Print Z

Wait Key

 

آرایه های چند بعدی :

لزومی ندارد آرایه ها تنها دارای یک بعد باشند . ما می توانیم هر مقدار بعد نیاز داشتیم ایجاد کنیم . مانند مثال های زیر .

 

مثال زیر آرایه ی یک بعدی را نشان می دهد

 

(Dim Adad(6

 

(Adad(6) Adad(5) Adad(4) Adad(3) Adad(2) Adad(1) Adad(0    

 

 

مثال زیر آرایه ی دو بعدی از نوع کاراکتری را نشان می دهد


(Dim Nm$(6,4


 

(Nm$(6,0) Nm$(5,0) Nm$(4,0) Nm$(3,0) Nm$(2,0) Nm$(1,0) Nm$(0,0

(Nm$(6,1) Nm$(5,1) Nm$(4,1) Nm$(3,1) Nm$(2,1) Nm$(1,1) Nm$(0,1

(Nm$(6,2) Nm$(5,2) Nm$(4,2) Nm$(3,2) Nm$(2,2) Nm$(1,2) Nm$(0,2

 (Nm$(6,3) Nm$(5,3) Nm$(4,3) Nm$(3,3) Nm$(2,3) Nm$(1,3) Nm$(0,3

 (Nm$(6,4) Nm$(5,4) Nm$(4,4) Nm$(3,4) Nm$(2,4) Nm$(1,4) Nm$(0,4

 

 

برای مثال ، چند نمونه از عضو های آرایه ی بالا بصورت زیر مقدار دهی شده بودند .

 

"Name$(0,0) = "Make

"Name$(0,2) = "Follow

"Name$(2,3) = "Matrix

"Name$(4,4) = "Move

"Name$(6,4) = "Texture

و غیره . . .

 

تصویر حقیقی داده های موجود در آرایه های یک بعدی و دو بعدی در اشکال بالا نشان داده شدند ، ما می توانیم آرایه هایی از نوع عدد صحیح Integer ، عدد طبیعی Real و یا عبارات رشته ای String با هر چند بعد که نیاز داشته باشیم ، ایجاد کنیم . با استفاده از آرایه ها می توانیم برنامه های سودمندی ایجاد کنیم فقط باید مواظب باشیم تا آرایه هایمان آن قدر بزرگ نشوند تا کل حافظه ی Ram اشغال شود . در این صورت با پیغام سرریز شدن حافظه مواجه خواهیم شد . 

 

User Defined Types :

تا کنون با انواع متغیر ها آشنا شدیم . با استفاده از آرایه ها توانستیم تعداد زیادی متغیر تحت یک نام ایجاد کنیم . 

دستور Type ... EndType به ما امکان ایجاد الگویی جدید از متغیر ها را می دهد . یعنی ما می توانیم خصوصیات مختلفی شامل اعداد و عبارات گوناگون را تحت یک نام ایجاد و سازماندهی کنیم . مانند دستورالعمل زیر .

 

TYPE MyType

    Fieldname1

    Fieldname2

    Fieldname3

ENDTYPE

 

طبق این دستور العمل با استفاده از دستور TYPE الگویی با نام MyType ایجاد کریدم . سپس متغیر های مورد نیازمان را مانند Fieldname1 و Fieldname2 و Fieldname3 ایجاد کردیم و در آخر با استفاده از دستور ENDTYPE به الگویمان خاتمه دادیم . در این دستور ما سه متغیر از نوع صحیح ( Integer ) تعریف کردیم . ما می توانیم به تعداد نیازتان متغیر ( عدد یا کاراکتر ) تعریف کنیم . دستور Type ... EndType را می توان در یک خط هم نوشت . مانند مثال زیر :

 

TYPE MyType Fieldname1 Fieldname2 Fieldname3 ENDTYPE

 

کاربرد دستور Type ... EndType

فرض کنید ما می خواهید مشخصات 100 دانش آموز را ذخیره کنیم . ابتدا الگویمان را تحت یک نام توسط دستور Type... EndType ایجاد می کنیم . سپس یک متغیر آرایه ای شامل 100 عضو از نوع الگویمان تعریف می کنیم مانند مثال زیر :

 

Type PeopleSpecification

   Name As String

   Family As String

   Weight As Byte

   Phone As Double Integer

EndType


Dim People(99) As PeopleSpecification


"People(1).Name = "Matin

"People(1).Family = "Heydari

People(1).Weight = 60

People(1).Phone = 02545


Print People(1).Name

Print People(1).Family

Print People(1).Weight

Print People(1).Phone

...

 

در این مثال الگویی با نام PeopleSpecification ایجاد کردیم و چهار متغیر جهت ذخیره ی نام و نام خانوادگی و وزن و تلفن دانش آموزان ایجاد کردیم . سپس متغیری آرایه ای شامل 100 عضو ( صفر هم حساب است ) از نوع نام الگوی ساختگی مان ( PeopleSpecification ) ایجاد کردیم  و در خطوط بعد آن را مقدار دهی  ، در آخر برای امتحان مشخصات نفر اول را که وارد کرده بودیم چاپ کردیم .

 

توجه ! زمانی که از دستور Type ... EndType استفاده می کنیم ، آن را در بالا ترین خط های برنامه قرار می دهیم ، تا قبل از استفاده به DarkBasic معرفی شده باشند .

 

می توانیم از متغیر هایی درون الگویمان استفاده کنیم ، که آن متغیر ها ، خود نیز از نوع الگوی دیگری الگوبرداری شده باشند . مانند مثال زیر :

 

Type SelectPhone

   Office As Double Integer

   Home As Double Integer

   Mobile As Double Integer

EndType


Type PeopleSpecification

   Name As String

   Family As String

   Weight As Byte

   Phone As SelectPhone

EndType


Dim People(99) As PeopleSpecification


"People(1).Name = "Matin

"People(1).Family = "Heydari

People(1).Weight = 60

People(1).Phone.Office = 02545

People(1).Phone.Home = 49859

People(1).Phone.Mobile = 08478


Print People(1).Name

Print People(1).Family

Print People(1).Weight

Print People(1).Phone.Office

Print People(1).Phone.Home

Print People(1).Phone.Mobile

...

 

در این مثال متغیر Phone در الگوی ( PeopleSpecification ) از نوع الگوی (SelectPhone  ) تعریف شده است .



صفحه قبل 1 صفحه بعد

درباره وبلاگ


به وبلاگ من خوش آمدید
آخرین مطالب
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی 3D ( سه بعدی ) به زبان Basic با دارک بیسیک D و آدرس darkbasic.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


آمار وب سایت:  

بازدید امروز : 1
بازدید دیروز : 0
بازدید هفته : 16
بازدید ماه : 243
بازدید کل : 99613
تعداد مطالب : 24
تعداد نظرات : 3
تعداد آنلاین : 1